procedure checkline (var ntot: integer; var sy, tokentype: hdlstringarray0; var pr: hdlintarray0; var numnodes: integer; var t: hdlextendarray; var error: str255);
writeln(sy^^[1], ' is a built-in constant. Define another variable, please.');
goto 999;
end;
if ((sy^^[1] = 'listv') or (sy^^[1] = 'stop')) and (sy^^[2] = equals) then
begin
writeln(sy^^[1], ' is a command word. Define another variable, please.');
goto 999;
end;
if (sy^^[2] = equals) then
nstart := 3;
for i := nstart to ntot do
begin
flag^^[i] := false;
if (ntot = 4) and (sy^^[1] = '(') and (sy^^[3] = ')') then
if sy^^[2] <> 'pi' then
begin
readstring(sy^^[2], realnumber);
writeln(realnumber : decplaceplus10 : decplace);
goto 999;
end;
if ntot = 2 then
if (tokentype^^[1] = 'constant') then
begin
if sy^^[1] = 'pi' then
writeln(pivalue : decplaceplus10 : decplace);
if sy^^[1] <> 'pi' then
begin
readstring(sy^^[1], realnumber);
writeln(realnumber : decplaceplus10 : decplace);
end;
goto 999;
end;
if (numvariables > 0) then
begin
for k := 1 to numvariables do
begin
j := numvariables + 1 - k;
if (sy^^[i] = strvar^^[j]) and (tokentype^^[i] = 'variable') then
begin
flag^^[i] := true;
tokentype^^[i] := strvartokentype^^[j];
if (ntot = 2) then
begin
if ((strvartokentype^^[j] = 'real') or (strvartokentype^^[j] = 'variable')) then
writeln(val^^[j] : decplaceplus10 : decplace);
goto 999;
end;
if (ntot = 4) and (sy^^[1] = '(') and (sy^^[3] = ')') then
begin
if ((strvartokentype^^[j] = 'real') or (strvartokentype^^[j] = 'variable')) then
writeln(val^^[j] : decplaceplus10 : decplace);
goto 999;
end;
goto 998;
end;
end;
end;
998:
end;
save[1] := sy^^[1];
save[2] := sy^^[2];
for i := nstart to ntot do
begin
if ((tokentype^^[i] = 'variable') or (tokentype^^[i] = 'real')) and (flag^^[i] = false) then
begin
if ntot = 2 then
writeln(sy^^[i]);
if ntot > 2 then
writeln(' ', sy^^[i], ' has not been defined ');
goto 999;
end;
if tokentype^^[i] = 'constant' then
if (sy^^[i] <> 'pi') then
for j := 1 to length(sy^^[i]) do
if (((65 <= ord(sy^^[i][j])) and (ord(sy^^[i][j]) <= 90)) or ((97 <= ord(sy^^[i][j])) and (ord(sy^^[i][j]) <= 122))) and (sy^^[i][j] <> 'E') and (sy^^[i][j] <> 'e') then